package com.kater.promotion.impl;

import com.kater.fruit.Fruit;
import com.kater.promotion.Promotion;

import java.util.Map;

// 无促销策略
public class NoPromotion implements Promotion {
    /**
     * 计算一组水果的总价。
     * 该方法遍历给定的水果映射表，将每种水果的价格与其数量相乘，然后累加得到总价。
     *
     * @param fruits 水果与数量的映射表，其中Fruit是水果的类型，Integer是该类型水果的数量。
     * @return 返回计算出的总价格。
     */
    @Override
    public double applyPromotion(Map<Fruit, Integer> fruits) {
        double totalPrice = 0; // 初始化总价为0

        // 遍历水果映射表，累加每种水果的总价
        for (Map.Entry<Fruit, Integer> entry : fruits.entrySet()) {
            // 获取当前水果的价格和数量
            double fruitPrice = entry.getKey().getPrice();
            int quantity = entry.getValue();
            // 计算当前水果的总价并累加到总价中
            totalPrice += fruitPrice * quantity;
        }

        return totalPrice; // 返回计算出的总价格
    }

}